From: Arjan Molenaar Date: Sat, 3 Dec 2022 21:55:32 +0000 (+0100) Subject: macos: Fix freeze on drag X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~116^2^2~79^2~1 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=089d0caa5e879b05a1be08e0472fe81962bb86b4;p=gtk4.git macos: Fix freeze on drag A Drag surface does not have a parent surface. Therefore, if we initialize it with one, it's inheriting the frame clock from the parent, but the drag surface is not linked to the parent. Once the drag surface is destroyed, it's disposing the frame clock, which results in a "frozen" application. --- diff --git a/gdk/macos/gdkmacossurface.c b/gdk/macos/gdkmacossurface.c index ef0b5efa17..37400d1892 100644 --- a/gdk/macos/gdkmacossurface.c +++ b/gdk/macos/gdkmacossurface.c @@ -431,7 +431,7 @@ gdk_macos_surface_drag_begin (GdkSurface *surface, _gdk_macos_surface_get_root_coords (GDK_MACOS_SURFACE (surface), &sx, &sy); drag_surface = _gdk_macos_surface_new (GDK_MACOS_DISPLAY (surface->display), GDK_SURFACE_DRAG, - surface, + NULL, sx, sy, 1, 1); drag = g_object_new (GDK_TYPE_MACOS_DRAG, "drag-surface", drag_surface,